---
id: 5900f4e51000cf542c50fff7
title: 'Завдання 376: нетранзитивні множини кубиків'
challengeType: 1
forumTopicId: 302038
dashedName: problem-376-nontransitive-sets-of-dice
---

# --description--

Розглянемо таку множину кубиків з нетиповою розміткою:

$$\begin{array}{}   \text{Кубик A: } & 1 & 4 & 4 & 4 & 4 & 4 \\\\
  \text{Кубик B: } & 2 & 2 & 2 & 5 & 5 & 5 \\\\   \text{Кубик C: } & 3 & 3 & 3 & 3 & 3 & 6 \\\\
\end{array}$$

За правилами гри, двоє гравців по черзі підкидують гральний кубик. Виграє той, чий кубик випав на найбільше значення.

Якщо перший гравець обере кубик $A$, а другий обере кубик $B$, то ми отримаємо

$P(\text{виграє другий гравець}) = \frac{7}{12} > \frac{1}{2}$

Якщо перший гравець обере кубик $B$, а другий обере кубик $C$, то ми отримаємо

$P(\text{виграє другий гравець}) = \frac{7}{12} > \frac{1}{2}$

Якщо перший гравець обере кубик $C$, а другий обере кубик $A$, то ми отримаємо

$P(\text{виграє другий гравець}) = \frac{25}{36} > \frac{1}{2}$

Отже, який би кубик не обрав перший гравець, другий може обрати інший кубик і його шанс перемогти становитиме більше ніж 50%. Множина кубиків з такою властивістю називається нетранзитивною множиною кубиків.

Нам потрібно дізнатись загальну кількість нетранзитивних множин кубиків. Візьмемо до уваги такі умови:

- Існує 3 шестигранні кубики, на кожній грані якого розташовано від 1 до $N$ точок включно.
- Кубики з однаковими множинами точок є ідентичними, незалежно від того, на якій стороні розташовані ці точки.
- Однакове значення точок може з’являтись на декількох кубиках; якщо обом гравцям випаде однакове значення точок, жоден з гравців не переміг.
- Множини кубиків $\\{A, B, C\\}$, $\\{B, C, A\\}$ та $\\{C, A, B\\}$ є однаковими.

За умови $N = 7$ існує 9780 таких множин.

Скільки існує таких множин за умови $N = 30$?

# --hints--

`nontransitiveSetsOfDice()` має повернути `973059630185670`.

```js
assert.strictEqual(nontransitiveSetsOfDice(), 973059630185670);
```

# --seed--

## --seed-contents--

```js
function nontransitiveSetsOfDice() {

  return true;
}

nontransitiveSetsOfDice();
```

# --solutions--

```js
// solution required
```
